package org.fast.develop.logicflow.runtime.convert.builder;

import cn.hutool.json.JSONObject;
import org.fast.develop.logicflow.builder.AbstractLogicFlowNodeBuilder;
import org.fast.develop.logicflow.core.meta.base.Resource;
import org.fast.develop.logicflow.runtime.convert.designer.DesignerModel;

import java.util.List;

/**
 * @author czh
 * @version V1.0
 * @data Created on 2022-12-31 10:14
 */
public interface DesignerModelBuilder<T extends DesignerModel> {

    AbstractLogicFlowNodeBuilder convert();

    T getDesignerModel();

    AbstractLogicFlowNodeBuilder getLogicFlowBuilder();

    void setDesignerModel(T t);

    void setLogicFlowBuilder(AbstractLogicFlowNodeBuilder abstractLogicFlowNodeBuilder);

    String getType();

    void convert(List<JSONObject> jsonObjects, Resource resource);
}
